home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 041-050 / amok44 / m2ced / txt / configed.mod < prev    next >
Text File  |  1993-11-04  |  3KB  |  153 lines

  1. (**********************************************************************
  2.  
  3.     :Program.    ConfigEd.mod
  4.     :Contents.   Edit S:M2CED.config
  5.     :Author.     Steffen Reith
  6.     :Address.    Hessenstr. 64, D-8700 Würzburg
  7.     :Copyright.  Shareware
  8.     :Language.   Modula-2
  9.     :Translator. M2Amiga A+L V3.2d
  10.     :Imports.    ARP,Msg,Config
  11.     :History.    V1.0  1.June 1990
  12.     :Note.       Make it better!!
  13.  
  14. **********************************************************************)
  15. MODULE ConfigEd;
  16.  
  17. FROM req    IMPORT GetString,GetLong,GetLongStruct,GetLongFlags,GetLongFlagSet;
  18. FROM Dos    IMPORT Write,Open,Close,newFile,Read,FileHandlePtr,oldFile;
  19. FROM Config IMPORT ConfigFile,WindowDefault,Para,P,MaxWS,MaxCM,ContMsgDefault,
  20.                    compileDefault,linkDefault,startDefault,loadDefault,
  21.                    findErrorDefault,cancelDefault,continueDefault;
  22. FROM SYSTEM IMPORT ADR;
  23. FROM Msg    IMPORT Request;
  24.  
  25. VAR Exist,Flag:BOOLEAN; (* TRUE wenn ConfigFile da *)
  26.     File:FileHandlePtr;
  27.     Work:P;
  28.     Dummy:LONGINT;
  29.     GL:GetLongStruct;
  30.  
  31. PROCEDURE ClearString2End(VAR String:ARRAY OF CHAR);
  32.  
  33. VAR i,j:INTEGER;
  34.  
  35. BEGIN
  36.  i:=0;
  37.  WHILE (String[i]#CHAR(0)) AND (i<HIGH(String)) DO INC(i) END;
  38.  IF i<HIGH(String) THEN
  39.   FOR j:=i+1 TO HIGH(String) DO String[j]:=CHAR(0) END
  40.  END
  41. END ClearString2End;
  42.  
  43. BEGIN
  44.  File:=Open(ADR(ConfigFile),oldFile);
  45.  Exist:=File#NIL;
  46.  Close(File);
  47.  
  48.  IF Exist THEN
  49.   Work:=Para;
  50.  ELSE
  51.   WITH Work DO
  52.    Window:=WindowDefault;
  53.    ContMsg:=ContMsgDefault;
  54.    compileN:=compileDefault;
  55.    linkN:=linkDefault;
  56.    startN:=startDefault;
  57.    loadN:=loadDefault;
  58.    findErrorN:=findErrorDefault;
  59.    cancelN:=cancelDefault;
  60.    continueN:=continueDefault
  61.   END
  62.  END;
  63.  
  64.  Flag:=GetString(ADR(Work.Window),
  65.                  ADR('WindowDefinition eingeben'),NIL,35,MaxWS);
  66.  
  67.  ClearString2End(Work.Window);
  68.  
  69.  WITH GL DO
  70.   minLimit:=0;
  71.   maxLimit:=05FH;
  72.   window:=NIL;
  73.   versionnumber:=0;
  74.   flags:=GetLongFlagSet{}
  75.  END;
  76.  
  77.  WITH GL DO
  78.   titleBar:=ADR('Compile Key');
  79.   defaultval:=Work.compileN
  80.  END;
  81.  Flag:=GetLong(GL);
  82.  IF Flag THEN
  83.   Work.compileN:=GL.result
  84.  END;
  85.  
  86.  WITH GL DO
  87.   titleBar:=ADR('Link Key');
  88.   defaultval:=Work.linkN
  89.  END;
  90.  Flag:=GetLong(GL);
  91.  IF Flag THEN
  92.   Work.linkN:=GL.result
  93.  END;
  94.  
  95.  WITH GL DO
  96.   titleBar:=ADR('Start Key');
  97.   defaultval:=Work.startN
  98.  END;
  99.  Flag:=GetLong(GL);
  100.  IF Flag THEN
  101.   Work.startN:=GL.result
  102.  END;
  103.  
  104.  WITH GL DO
  105.   titleBar:=ADR('Load Key');
  106.   defaultval:=Work.loadN
  107.  END;
  108.  Flag:=GetLong(GL);
  109.  IF Flag THEN
  110.   Work.loadN:=GL.result
  111.  END;
  112.  
  113.  WITH GL DO
  114.   titleBar:=ADR('FindError Key');
  115.   defaultval:=Work.findErrorN
  116.  END;
  117.  Flag:=GetLong(GL);
  118.  IF Flag THEN
  119.   Work.findErrorN:=GL.result
  120.  END;
  121.  
  122.  WITH GL DO
  123.   titleBar:=ADR('Cancel Key');
  124.   defaultval:=Work.cancelN
  125.  END;
  126.  Flag:=GetLong(GL);
  127.  IF Flag THEN
  128.   Work.cancelN:=GL.result
  129.  END;
  130.  
  131.  WITH GL DO
  132.   titleBar:=ADR('Continue Key');
  133.   defaultval:=Work.continueN
  134.  END;
  135.  Flag:=GetLong(GL);
  136.  IF Flag THEN
  137.   Work.continueN:=GL.result
  138.  END;
  139.  
  140.  Flag:=GetString(ADR(Work.ContMsg),
  141.                  ADR('Continuemessage eingeben'),NIL,35,MaxCM); 
  142.  ClearString2End(Work.ContMsg);
  143.  
  144.  File:=Open(ADR(ConfigFile),newFile);
  145.  
  146.  IF File#NIL THEN
  147.   Dummy:=Write(File,ADR(Work),SIZE(P));
  148.   Close(File)
  149.  ELSE
  150.   Request('Fataler Fehler kann Configfile nicht schreiben ')
  151.  END;
  152. END ConfigEd.
  153.